/**
 * Copyright (c) 2015-2020, wss 王山山
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package com.wss.conversion.auto;

import com.jfinal.config.Constants;
import com.jfinal.render.ViewType;

/**
 * 自动配置常量
 * @author wss
 *
 */
public class AutoConfigConstant implements AutoConfig {
	/*
	 * JFinal支持的视图类型
	 */
	private final String JSP = "jsp";
	private final String FREE_MARKER = "free_marker";
	private final String OTHER = "other";
	private final String VELOCITY = "velocity";
	
	private Constants constants;
	
	public AutoConfigConstant(Constants constants) {
		this.constants = constants;
	}
	
	@Override
	public void config() {
		constants.setDevMode(applicationConfig.getMain().isDevMode());
		constants.setViewType(getViewType());
	}
	
	/*
	 * 根据配置文件内容返回合适的视图类型
	 */
	private ViewType getViewType() {
		String viewType = applicationConfig.getMain().getViewType().toLowerCase();
		ViewType vt = ViewType.JSP;
		if (JSP.equals(viewType)) {
			vt = ViewType.JSP;
		}
		else if (FREE_MARKER.equals(viewType)) {
			vt = ViewType.FREE_MARKER;
		}
		else if (VELOCITY.equals(viewType)) {
			vt = ViewType.VELOCITY;
		}
		else if (OTHER.equals(viewType)) {
			vt = ViewType.OTHER;
		}
		return vt;
	}
}
